
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class BattlenpcBattlenpcCfg : public ManualSingleton <BattlenpcBattlenpcCfg>
{
	friend ManualSingleton <BattlenpcBattlenpcCfg>;
public:
	BattlenpcBattlenpcCfg();
	~BattlenpcBattlenpcCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const BattlenpcBattlenpcCfgInfo *GetBattlenpcBattlenpcCfgInfo(int32_t ID);
	const BattlenpcBattlenpcCfgMap *GetBattlenpcBattlenpcCfgMap() { return &m_BattlenpcBattlenpcCfgMap; }
private:
	BattlenpcBattlenpcCfgMap m_BattlenpcBattlenpcCfgMap;
};

#define  g_MakeBattlenpcBattlenpcCfgTable() (BattlenpcBattlenpcCfg::Instance())
#define  g_GetBattlenpcBattlenpcCfgTable() (BattlenpcBattlenpcCfg::GetInstance())
#define  g_DelBattlenpcBattlenpcCfgTable() (BattlenpcBattlenpcCfg::Destroy())